import java.util.*;
	import java.io.*;
	import edu.vanderbilt.isis.sm.*; 
	public class TimerReader implements IDataReader {
	private TopLevelTimer.REGION_T.STATE_T state;
	private IDataProvider dataProvider;
	private IDataPrinter dataPrinter;
	public TimerReader (TopLevelTimer.REGION_T.STATE_T state, IDataProvider dataProvider, IDataPrinter dataPrinter) {
		this.state = state;
		this.dataProvider = dataProvider;
		this.dataPrinter = dataPrinter;
		this.dataProvider.setHasEvents(0, 6);
	}
	// Implemented from IDataReader for custom inputting 
	public void setInput() {
		ArrayList<String> inputs = new ArrayList<String>();
		for (int i=0; i < 0; i++) {
			inputs.add(dataProvider.readData());
		}
		dataProvider.advance();
		if (inputs.size() == 0) { // A little error-checking
		}
	}
	public void writeOutput() {
		ArrayList<String> outputs = new ArrayList<String>();
		System.out.println("Value of var1 is: " + state.var1);
		outputs.add("" + state.var1);
		System.out.println("Value of var2 is: " + state.var2);
		outputs.add("" + state.var2);
		System.out.println("Value of var3 is: " + state.var3);
		outputs.add("" + state.var3);
		System.out.println("Value of var4 is: " + state.var4);
		outputs.add("" + state.var4);
		System.out.println("Value of var5 is: " + state.var5);
		outputs.add("" + state.var5);
		System.out.println("Value of var6 is: " + state.var6);
		outputs.add("" + state.var6);
		if (dataPrinter != null){
			dataPrinter.writeData(outputs);
			dataProvider.advance();
		}
	}
	public boolean hasData() {
		return this.dataProvider.hasData();
	}
	public String readEvent() {
		return this.dataProvider.readEvent();
	}
};